/**
 * 创建一个基于数组的栈:栈是一种后进先出的有序集合 新添加或待删除的元素都保存栈的同一端 称作栈顶
 */
class Stack {
    // constructor称之为构造方法 this代表实例对象
    constructor () {
        this.items = []
    }
    //向栈添加元素,织田家元素到栈顶,也就是栈的末尾
    push (element) {
        this.items.push(element)
    }
    //从栈移除元素
    pop () {
        return this.items.pop()
    }
    // 查看栈顶元素(返回数组末尾最后一项元素)
    peek () {
        return this.items[this.items.length - 1]
    }
    // 检查栈是否为空
    isEmpty () {
        return this.items.length === 0
    }
    //清空栈元素
    clear () {
        this.items = []
    }
}
const stack = new Stack()
stack.push(1)
stack.push(2)
stack.push(3)
console.log(stack)
console.log(stack.isEmpty())
console.log(stack.peek());
console.log(stack.pop())